iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 22
0
AI & Data

花甲老頭學 AI系列 第 22

[鐵人12:Day 22] Transformer 5:模型架構 (4)

  • 分享至 

  • xImage
  •  

Scaled Dot-Product Attention

現在該是時候來看看 Scaled Dot-Product Attention 的運作細節。
https://ithelp.ithome.com.tw/upload/images/20201006/20129616HSoLIReETH.png

上圖的左上方即是 Scaled Dot-Product Attention 的概略流程 (要注意,在編碼階段不需要執行 Mask 操作),執行時,針對輸入序列中的每一個元素,執行以下的步驟:

第一步 (MatMul):將其 Q 和序列中所有的 K 作內積 (Dot-Product) ,得到一個內積序列 (下圖的 Score )。
第二步 (Scale):將內積序列中的每個數除以「K長度的平方根」,論文中 K 的長度為 64,所以要除以 8(下圖的 Divide by 8)。
第三步 (SoftMax):將序列做 SoftMax 運算(下圖的 SoftMax)。
第四步 (MatMul):將輸入 V 序列中的值,乘上其對應的 SoftMax 結果,得到一個 weighted V 序列(下圖的 Softmax X Value)。
第五步:將 weighted V 序列所有元素相加,得到輸出的結果(下圖的 Sum)。

下圖(註一)以圖形的方式說明以上的步驟,希望讓大家能更清楚這個流程。
https://ithelp.ithome.com.tw/upload/images/20201006/20129616AAUR2VthAj.png

Residual, Add & Normalization

前面提過,Transformer 每一個子層皆包括了 Residual, Add & Normalization 機制,下圖(註一)將論文中的圖形與《The Illustrated Transformer》中的圖並列,讓大家更清楚的 Transformer 的設計。
https://ithelp.ithome.com.tw/upload/images/20201006/20129616BHmGH4ukte.png

以數學公式來看,Muti-Head Attention 可表示為:

LayerNorm ( X + Z )

對 Layer Normalization 有興趣的 AI 人,可以參考(註二)之論文。

(註一:源自 Jay Alammar 的《The Illustrated Transformer》
(註二:Layer Normalization 論文 arXiv 號碼 1607.06450


上一篇
[鐵人12:Day 21] Transformer 4:模型架構 (3)
下一篇
[鐵人12:Day 23] Transformer 6:模型架構 (5)
系列文
花甲老頭學 AI30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言